录音
AudioRecorder 类允许您将音频数据录制到文件。它提供了开始、停止、暂停和管理音频录制的功能,并可配置音频质量、采样率、格式等。
功能
- 从系统的活跃输入设备录制音频。
- 可以录制指定时长,或在手动停止前一直录制。
- 暂停并恢复录制。
- 删除已录制的音频文件。
用法
设置 SharedAudioSession
在创建 AudioRecorder 实例之前,需要先设置 SharedAudioSession。因为音频会话与硬件相关,因此需要确保正确激活会话。
创建 AudioRecorder 实例
使用 create 方法来创建一个音频录制器实例:
录制音频
您可以使用 record() 方法开始录制:
也可以提供额外的选项来控制录制开始的时间及录制时长:
暂停和停止录制
暂停录制:
停止录制:
删除录音文件
要删除已经录制好的文件:
释放 Recorder
当不再需要使用录制器时,应调用 dispose() 来释放资源:
事件处理
可以使用 onFinish 和 onError 回调来处理录制完成和错误情况:
API 参考
AudioRecorder.create(filePath, settings?)
使用指定的设置创建一个 AudioRecorder 实例。
- filePath (string): 要录制到的文件系统路径。
- settings (可选对象): 录音的音频设置:
- format (AudioFormat): 音频数据的格式,可选值包括
"LinearPCM","MPEG4AAC","AppleLossless","AppleIMA4","iLBC","ULaw"。 - sampleRate (number): 采样率,单位为赫兹 (范围 8000 到 192000)。
- numberOfChannels (number): 声道数量 (1 到 64)。
- encoderAudioQuality (AVAudioQuality): 音频编码质量 (从
AVAudioQuality.min到AVAudioQuality.max)。
- format (AudioFormat): 音频数据的格式,可选值包括
返回值: 一个 Promise,解析后返回 AudioRecorder 实例。
AudioRecorder.isRecording
一个布尔值,用于指示录制器当前是否正在录音。
AudioRecorder.currentTime
从录音开始到当前的时间(单位为秒)。
AudioRecorder.deviceCurrentTime
主机音频设备的当前时间(单位为秒)。
AudioRecorder.record(options?)
开始录制音频。
- options (可选对象):
- atTime (number): 相对于
deviceCurrentTime,指定开始录制的时间。 - duration (number): 录音时长(单位为秒)。
- atTime (number): 相对于
返回值: 一个布尔值,表示录制是否成功开始。
AudioRecorder.pause()
暂停当前录制。
AudioRecorder.stop()
停止录制并关闭音频文件。
AudioRecorder.deleteRecording()
删除已经录制的音频文件。
返回值: 一个布尔值,表示删除操作是否成功。
AudioRecorder.dispose()
释放录制器所使用的资源。
AudioRecorder.onFinish
录音完成后调用的回调函数。
- success (boolean): 表示录制是否成功完成。
AudioRecorder.onError
在录制或编码出现错误时调用的回调函数。
- message (string): 描述错误的字符串。
使用示例
使用 AudioRecorder 类,您可以在脚本中轻松管理音频录制操作,并灵活控制音频录制流程。
